package header

// ScanKey for Scan header
var ScanKey = []string{
	"ScanIndex",
	"RaysNum",
	"BinsNum",
	"RangeToFirstBin",
	"ScanStartSeconds",
	"ScanStopSeconds",
	"ScanStartAzimuth",
	"ScanStopAzimuth",
	"ScanRequestedElevation",
	"ScanAverageElevation",
	"BeamNum",
	"Unused",
}

// InitScanHeader inits Scan Header
func InitScanHeader() map[string][]byte {
	return map[string][]byte{
		ScanKey[0]:  make([]byte, 2),
		ScanKey[1]:  make([]byte, 2),
		ScanKey[2]:  make([]byte, 2),
		ScanKey[3]:  make([]byte, 2),
		ScanKey[4]:  make([]byte, 2),
		ScanKey[5]:  make([]byte, 2),
		ScanKey[6]:  make([]byte, 2),
		ScanKey[7]:  make([]byte, 2),
		ScanKey[8]:  make([]byte, 2),
		ScanKey[9]:  make([]byte, 2),
		ScanKey[10]: make([]byte, 2),
		ScanKey[11]: make([]byte, 42),
	}
}

// Scan contains the slice rays and the number of rays
type Scan struct {
	Header  map[string][]byte
	Rays    []Ray
	RaysNum int16
}
